﻿namespace HutongGames.PlayMaker
{
    using System;
    using UnityEngine;

    public interface IFsmStateAction
    {
        void ChangeState(string eventName);
        void DoCollisionEnter(Collision collisionInfo);
        void DoCollisionExit(Collision collisionInfo);
        void DoCollisionStay(Collision collisionInfo);
        void DoControllerColliderHit(ControllerColliderHit collider);
        void DoTriggerEnter(Collider other);
        void DoTriggerExit(Collider other);
        void DoTriggerStay(Collider other);
        string ErrorCheck();
        void Init(FsmState state);
        void Log(string text);
        void LogError(string text);
        void LogWarning(string text);
        void OnEnter();
        void OnExit();
        void OnFixedUpdate();
        void OnGUI();
        void OnLateUpdate();
        void OnUpdate();
        void Reset();

        bool Enabled { get; set; }
    }
}

